home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
smaltalk
/
st80_pr4.lha
/
st80_pre4
/
MoDE
/
ITLibrary-Shan.st
< prev
next >
Wrap
Text File
|
1993-07-24
|
6KB
|
272 lines
OpaqueController1 subclass: #PushButtonController
instanceVariableNames: ''
classVariableNames: 'PushButtonControllerERD '
poolDictionaries: ''
category: 'ITLibrary-Shan'!
!PushButtonController methodsFor: 'sharedBehavior-action'!
actionLoop
"Shan August 16, 1989"
| eq |
mode highlight.
eq _ self eventQueue. "Shan 13 July 1990"
[(event _ eq next) selector ~= #leftButtonUp]
whileTrue:
[(mode containsPoint: event origin)
& (mode containsPoint: event previousOrigin) not ifTrue: [mode highlight].
(mode containsPoint: event origin) not & (mode containsPoint: event previousOrigin) ifTrue: [mode deHighlight]].
(mode containsPoint: event origin)
ifTrue:
[mode deHighlight.
semObj perform: #action: with: event].
^true! !
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
PushButtonController class
instanceVariableNames: ''!
!PushButtonController class methodsFor: 'access'!
eventResponsesDict
^ PushButtonControllerERD! !
!PushButtonController class methodsFor: 'initialize'!
ERDinit
PushButtonControllerERD _ super eventResponsesDict deepCopy.
PushButtonControllerERD at: #leftButtonDown put: #actionLoop.! !
SemanticObject subclass: #TextLabel
instanceVariableNames: 'text fixedSize '
classVariableNames: ''
poolDictionaries: ''
category: 'ITLibrary-Shan'!
TextLabel comment:
'The inst var ''text'' can store String, DisplayText, and Paragraph. Shan July 31, 1989'!
!TextLabel methodsFor: 'control'!
fixedSize
"Shan August 4, 1989"
^fixedSize!
fixedSize: aBool
"Shan August 4, 1989"
fixedSize _ aBool! !
!TextLabel methodsFor: 'displaying'!
displayText: aText
"text can be string or subclass of DisplayText. Shan August 4, 1989"
self text: aText.
mode erase.
mode display! !
!TextLabel methodsFor: 'private'!
text: aStringOrDisplayText borderWidth: w
"Shan December 3, 1989"
mode borderWidth: w. "Set the bordreW before placing the text, so that relative position
can be calculated."
self text: aStringOrDisplayText! !
!TextLabel methodsFor: 'access'!
checkSize
"If resizable, resize when the text is changed. Shan August 4, 1989"
fixedSize ifFalse: [mode resizeToFitDisplayObject]!
displayText
^text asDisplayText!
string
^text asString!
text: aStringOrDisplayText
"Shan August 4, 1989"
text _ aStringOrDisplayText.
mode displayObject clear.
mode displayObject relAdd: aStringOrDisplayText asDisplayText.
self checkSize! !
!TextLabel methodsFor: 'initialize-release'!
initialize
"Shan August 4, 1989"
super initialize.
fixedSize _ false! !
!TextLabel methodsFor: 'attribute editor'!
editAttributes
"Shan August 25, 1989"
| name |
self eventQueue disable.
name _ FillInTheBlank request: 'Enter a new label.'.
self eventQueue enable.
self text: name! !
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
TextLabel class
instanceVariableNames: ''!
!TextLabel class methodsFor: 'instance creation'!
text: aStringOrDisplayText
"I can accept a string or any subclass of DisplayText. Shan December 3,
1989 "
^self text: aStringOrDisplayText borderWidth: 0!
text: aStringOrDisplayText borderWidth: w
"Shan December 3, 1989 "
^self new text: aStringOrDisplayText borderWidth: w! !
TextLabel subclass: #TextButton
instanceVariableNames: 'actionMessage '
classVariableNames: ''
poolDictionaries: ''
category: 'ITLibrary-Shan'!
!TextButton methodsFor: 'initialize-release'!
initialize
"Shan September 2, 1989"
super initialize.
actionMessage _ #buttonPushed:! !
!TextButton methodsFor: 'controller-msg'!
action: e
"Shan September 2, 1989"
target1 notNil ifTrue: [target1 perform: actionMessage with: self string]! !
!TextButton methodsFor: 'MMS-initializations'!
defaultMMSControllerClass
"Shan August 16, 1989"
^PushButtonController!
setUpAppearance
"Shan August 16, 1989"
mode highlightDispObj: #inverseHighlight! !
!TextButton methodsFor: 'access'!
actionMessage
"Shan August 16, 1989"
^actionMessage!
actionMessage: aMsgSelector
"Shan August 16, 1989"
actionMessage _ aMsgSelector! !
OpaqueController1 subclass: #MidMenuController
instanceVariableNames: ''
classVariableNames: 'MidMenuControllerERD '
poolDictionaries: ''
category: 'ITLibrary-Shan'!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
MidMenuController class
instanceVariableNames: ''!
!MidMenuController class methodsFor: 'access'!
eventResponsesDict
^MidMenuControllerERD! !
!MidMenuController class methodsFor: 'initialize'!
ERDinit
"Shan 29 May 1990"
MidMenuControllerERD _ super eventResponsesDict deepCopy.
MidMenuControllerERD at: #middleButtonDown put: #expandMiddleMenu! !
MidMenuController subclass: #MidMenuDoubleclickController
instanceVariableNames: ''
classVariableNames: 'MidMenuDoubleclickControllerERD '
poolDictionaries: ''
category: 'ITLibrary-Shan'!
MidMenuController subclass: #MidMenuDoubleClickController
instanceVariableNames: ''
classVariableNames: 'MidMenuDoubleClickControllerERD '
poolDictionaries: ''
category: 'ITLibrary-Shan'!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
MidMenuDoubleClickController class
instanceVariableNames: ''!
!MidMenuDoubleClickController class methodsFor: 'initialize'!
ERDinit
"Shan 14 June 1990"
MidMenuDoubleClickControllerERD _ super eventResponsesDict deepCopy.
MidMenuDoubleClickControllerERD at: #leftButtonDoubleClick put: #action:! !
!MidMenuDoubleClickController class methodsFor: 'access'!
eventResponsesDict
"Shan 14 June 1990"
^MidMenuDoubleClickControllerERD! !
MidMenuController subclass: #MidMenuHighlightController
instanceVariableNames: ''
classVariableNames: 'MidMenuHighlightControllerERD '
poolDictionaries: ''
category: 'ITLibrary-Shan'!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
MidMenuHighlightController class
instanceVariableNames: ''!
!MidMenuHighlightController class methodsFor: 'access'!
eventResponsesDict
"Shan 29 May 1990"
^MidMenuHighlightControllerERD! !
!MidMenuHighlightController class methodsFor: 'initialize'!
ERDinit
"Shan 29 May 1990"
MidMenuHighlightControllerERD _ super eventResponsesDict deepCopy.
MidMenuHighlightControllerERD at: #enterMode put: #highlight.
MidMenuHighlightControllerERD at: #leaveMode put: #deHighlight! !